using System;
using SBCommon.Data;
using SBCommon.Validation;

namespace SecurityModule.Entity
{
	[Table("[SEC_Delegation]")]
    public class Delegation
    {
        int _delegation_id;
        [Column]
        [Validator(Required = true)]
        public int delegation_id
        {
            get { return _delegation_id; }
            set { _delegation_id = value; }
        }
        
        string _from_person;
        [Column]
        [Validator(MaxLength = 50 , Required = true)]
        public string from_person
        {
            get { return _from_person; }
            set { _from_person = value; }
        }
        
        string _to_person;
        [Column]
        [Validator(MaxLength = 50 , Required = true)]
        public string to_person
        {
            get { return _to_person; }
            set { _to_person = value; }
        }
        
        DateTime? _start_date;
        [Column]
        public DateTime? start_date
        {
            get { return _start_date; }
            set { _start_date = value; }
        }
        
        DateTime? _end_date;
        [Column]
        public DateTime? end_date
        {
            get { return _end_date; }
            set { _end_date = value; }
        }
        
        string _status;
        [Column]
        [Validator(MaxLength = 1)]
        public string status
        {
            get { return _status; }
            set { _status = value; }
        }
        
        string _workflow;
        [Column]
        [Validator(MaxLength = 3000)]
        public string workflow
        {
            get { return _workflow; }
            set { _workflow = value; }
        }
        
        string _create_by;
        [Column]
        [Validator(MaxLength = 50)]
        public string create_by
        {
            get { return _create_by; }
            set { _create_by = value; }
        }
        
        DateTime? _create_time;
        [Column]
        public DateTime? create_time
        {
            get { return _create_time; }
            set { _create_time = value; }
        }
        
        string _delete_by;
        [Column]
        [Validator(MaxLength = 50)]
        public string delete_by
        {
            get { return _delete_by; }
            set { _delete_by = value; }
        }
        
        DateTime? _delete_time;
        [Column]
        public DateTime? delete_time
        {
            get { return _delete_time; }
            set { _delete_time = value; }
        }
        
    }
}

